<?php

namespace app\admin\controller;

use think\Request;
use app\admin\model\AdminColumn as AdminColumnModel;
use think\Db;

class AdminColumn extends AdminController
{
    /**
     * 显示资源列表
     *
     * @return \think\Response
     */
    public function index()
    {
        // 栏目管理
        $res = Db::name('articles_classify')->where('parentId',0)->select();
        // 模板渲染
        return $this->assign('res',$res)->fetch('admincolumn/index');
    }

    /**
     * 显示创建资源表单页.
     *
     * @return \think\Response
     */
    public function create()
    {
        $pid = AdminColumnModel::field(['catName','catId'])->where('parentId',0)->select();
        return $this->assign('pid',$pid)->fetch('admincolumn/add');
    }

    /**
     * 保存新建的资源
     *
     * @param  \think\Request  $request
     * @return \think\Response
     */
    public function save(Request $request)
    {
        // 依赖注入的方式
        $post = $request->post();
        $post['createTime'] = date('Y-m-d H:i:s');
        // var_dump($post);die;
        // 实例化Model
        $user = new AdminColumnModel();
        // 传入数据到Model中
        $user->data($post);
        // 过滤非数据表的字段,并写入数据, 返回写入记录数量
        $result = $user->allowField(true)->save();
        // 判断跳转
        if ($result > 0) {
            return $this->success('栏目添加成功', url('admin/admin_column/index'));
        } else {
            return $this->error('栏目添加失败');
        }
    }

    /**
     * 显示查看子栏目
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function read($catId)
    {
        // 子栏目管理
        $res = Db::name('articles_classify')->where('parentId',$catId)->select();
        // 渲染模板
        return $this->assign('res',$res)->fetch('adminColumn/index_list');
        
    }

    /**
     * 显示编辑资源表单页.
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function edit($catId)
    {
        $data = Db::name('articles_classify')->field('createTime',true)->find($catId);
        $pid = Db::name('articles_classify')->field(['catName','catId'])->where('parentId',0)->select();
        // var_dump($data,$pid);die;
        return $this->assign(['data'=>$data,'pid'=>$pid])->fetch('admincolumn/edit');
    }

    /**
     * 显示编辑子栏目页.
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function editList($catId)
    {
        $data = Db::name('articles_classify')->field('createTime',true)->find($catId);
        $pid = Db::name('articles_classify')->field(['catName','catId'])->where('parentId',0)->select();
        // var_dump($data,$pid);die;
        return $this->assign(['data'=>$data,'pid'=>$pid])->fetch('admincolumn/edit_list');
    }

    

    /**
     * 保存更新的资源
     *
     * @param  \think\Request  $request
     * @param  int  $id
     * @return \think\Response
     */
    public function update(Request $request, $catId)
    {
        $post = $request->post();
        // var_dump($post);die;
        $user = new AdminColumnModel();
        // 传入数据到Model中
        // $user->data($post);
        $result = $user->where('catId', $post['catId'])->update($post);
        // var_dump($result);die;

        // 判断跳转
        if ($result > 0) {
            return $this->success('栏目更新成功', url('admin/admin_column/index'));
        } else {
            return $this->error('栏目更新失败');
        }

    }

    /**
     * 删除指定资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function delete($catId)
    {
        $result = AdminColumnModel::get($catId)->delete();

        if ($result > 0) {
            $info['status'] = true;
            $info['catId'] = $catId;
            $info['info'] = 'ID为'.$catId.'的栏目删除成功!';
        } else {
            $info['status'] = false;
            $info['catId'] = $catId;
            $info['info'] = 'ID为'.$catId.'的栏目删除失败!';
        }
        return json($info);
    }
}
